package com.tal.live.pojo.dto;

import com.tal.live.utils.validator.group.QueryGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * <Description>
 *
 * @author xianliru@100tal.com
 * @version 1.0
 * @createDate 2019/10/14 15:47
 */
@Data
@ApiModel(value = "ticket请求参数",description="ticket请求参数")
public class QueryTicket implements Serializable {

    /**
     * 用户id
     */
    @NotNull(message="用户ID,不能为空", groups = {QueryGroup.class})
    @ApiModelProperty(value="用户ID",name="id",example="1",required=true)
    private Integer id;
    /**
     * 用户名称
     */
    @NotBlank(message="用户名,不能为空", groups = {QueryGroup.class})
    @ApiModelProperty(value="用户名",name="name",example="test",required=true)
    private String name;
    /**
     * 用户邮箱
     */
    @ApiModelProperty(value="用户邮箱",name="email",example="test@100tal.com")
    private String email;
    /**
     * 用户所在机构code值（教研平台提供）
     */
    @NotBlank(message="用户所在机构code,不能为空", groups = {QueryGroup.class})
    @ApiModelProperty(value="用户所在机构code",name="organizationCode",example="100",required=true)
    private String organizationCode;
    /**
     * 场景code值（教研平台提供）
     */
    @NotBlank(message="场景code,不能为空", groups = {QueryGroup.class})
    @ApiModelProperty(value="场景code",name="sceneCode",example="100",required=true)
    private String sceneCode;
    /**
     * 身份code值（教研平台提供）
     */
    @NotBlank(message="身份code值,不能为空", groups = {QueryGroup.class})
    @ApiModelProperty(value="身份code值",name="identityCode",example="100",required=true)
    private String identityCode;
    /**
     * 城市code（城市区号：如：北京010）没有具体城市请传：全国(0000)
     */
    @NotBlank(message="城市code,不能为空", groups = {QueryGroup.class})
    @ApiModelProperty(value="城市code",name="cityCode",example="101",required=true)
    private String cityCode;
    /**
     * 秘钥（教研平台提供
     */
    @NotBlank(message="秘钥,不能为空", groups = {QueryGroup.class})
    @ApiModelProperty(value="秘钥",name="appKey",example="100ytighijkl",required=true)
    private String appKey;
    /**
     * 学科id列表
     */
    @NotEmpty(message="学科id列表,不能为空", groups = {QueryGroup.class})
    @ApiModelProperty(value="学科id数组",name = "subjectIdList",required = true)
    private List<Integer> subjectIdList;
    /**
     * 年部id列表
     */
    @NotEmpty(message="年部id列表,不能为空", groups = {QueryGroup.class})
    @ApiModelProperty(value="年部id数组",name = "gradeGroupIdList",required = true)
    private List<Integer> gradeGroupIdList;
}
